$(function () {
    let layer = layui.layer;

    function initCate() {
        $.ajax({
            method: 'GET',
            url: '/my/article/cates',
            success: res => {
                const {
                    message,
                    status
                } = res;
                if (status !== 0) return layer.msg(message);
                let str = template("tpl-cate", res);
                $('[name=cate_id]').html(str);
                layui.form.render();
            }
        })
    };
    initCate();
    initEditor();
    // 1. 初始化图片裁剪器
    var $image = $('#image')

    // 2. 裁剪选项
    var options = {
        aspectRatio: 400 / 280,
        preview: '.img-preview'
    }

    // 3. 初始化裁剪区域
    $image.cropper(options);
    $(".imgBtn").click(function () {
        $("#file").click()
    });
    $("#file").on("change", function () {
        let fileList = this.files;
        if (fileList.length === 0) return layui.layer.msg("请上传图片");
        let imgURl = URL.createObjectURL(fileList[0]);
        $image
            .cropper('destroy') // 销毁旧的裁剪区域
            .attr('src', imgURl) // 重新设置图片路径
            .cropper(options)
    });
    let artSta = '已发布';
    $("#cao-btn").click(function () {
        artSta = '草稿';
    });
    $('#form-pub').on("submit", function (e) {
        e.preventDefault();
        let fd = new FormData(($(this)[0]))
        fd.append("state", artSta);
        $image
            .cropper('getCroppedCanvas', {
                // 创建一个 Canvas 画布
                width: 400,
                height: 280
            })
            .toBlob(function (blob) {
                // 将 Canvas 画布上的内容，转化为文件对象
                // 得到文件对象后，进行后续的操作
                // 5. 将文件对象，存储到 fd 中
                fd.append('cover_img', blob)
                // 6. 发起 ajax 数据请求
                pubList(fd)
            });     
    });

    function pubList(fd) {
        $.ajax({
            method: 'POSt',
            url: '/my/article/add',
            data: fd,
            contentType: false,
            processData: false,
            success: res => {
                if (res.status !== 0) return layer.msg(res.message);
                layer.msg(res.message);
                window.parent.$(".art-list").click()
            }
        });
    }
})